﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using _1Dot9MasterTransactions;

namespace _1Dot9MasterBiz
{
    [Transaction(TransactionOption.Required, IsolationLevel = IsolationLevel.ReadUncommitted, Timeout = 60)]
    public class MasterBizBase : BizBase
    {
        public MasterBizBase()
        {

        }

        /// <summary>
        /// 메쏘드의 전처리를 수행한다.
        /// </summary>
        protected override void Activate()
        {
            // 현재까지는 구현 없음
        }

        /// <summary>
        /// 메쏘드의 후처리를 수행한다.
        /// </summary>
        protected override void Deactivate()
        {
            // 현재까지는 구현 없음
        }

        /// <summary>
        /// Exception에 예외 코드를 추가한다.
        /// 이미 ERROR_CODE가 추가된 경우에는 바이 패스한다. 
        /// </summary>
        /// <param name="ex"></param>
        /// <param name="Code">ERROR_CODE = Code</param>
        protected void SetErrorCode(Exception ex, string Code)
        {
            if (ex.Data.Contains("ERROR_CODE"))
                ex.Data.Add("ERROR_CODE", Code);
            throw ex;
        }
    }
}
